/*
 * MIT License
 *
 * Copyright (c) 2023 芊芊墨客
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 *
 */

package com.zhangmeng.tools.utils;


/**
 * @author zhangmeng
 * @date 2022年10月27日11:37:06
 * @version 1.0
 */
public class ImagePath {

    public enum ImagePathType {
        CLOSE("关闭"),
        TOP_VIEW_CLOSE_BLACK("关闭黑色按钮"),
        FULL("全屏"),
        TOP_VIEW_Full_BLACK("最大化黑色按钮"),
        MIN("最小化"),
        TOP_VIEW_MIN_BLACK("最小化黑色按钮"),
        NORMAL("正常的"),
        TRAY_ICON("托盘图标"),
        BACKGROUND_IMAGE("背景图片"),
        MUSIC_ICON("音乐图标"),
        ICON_WHITE_SET("设置白色图标"),
        ICON_BLACK_SET("设置黑色图标"),

        ICON_WHITE_REPEAT("白色重复图标"),
        ICON_BLACK_REPEAT("黑色循环图标"),

        ICON_WHITE_REPEAT_ONE("白色单曲循环图标"),
        ICON_BLACK_REPEAT_ONE("黑色单曲循环图标"),

        ICON_WHITE_LAST("白色上一首图标"),
        ICON_BLACK_LAST("黑色上一首图标"),
        ICON_WHITE_PLAY("白色播放图标"),
        ICON_BLACK_PLAY("黑色播放图标"),
        ICON_WHITE_PAUSE("白色暂停图标"),
        ICON_BLACK_PAUSE("黑色暂停图标"),
        ICON_WHITE_NEXT("白色下一首图标"),
        ICON_BLACK_NEXT("黑色下一首图标"),
        ICON_WHITE_LIST("播放列表白色图标"),
        ICON_BLACK_LIST("播放列表黑色图标"),

        ICON_WHITE_MUTE("静音白色图标"),
        ICON_BLACK_MUTE("静音黑色图标"),
        ICON_WHITE_VOL("音量白色图标"),
        ICON_BLACK_VOL("音量黑色图标"),

        ICON_WHITE_RANDOM("随机白色图标"),
        ICON_BLACK_RANDOM("随机黑色图标"),

        IMAGE_FILE("文件图标"),

        VIDEO_PLAYER("视频播放"),
        MUSIC_PLAYER("音乐播放"),
        VIP_PLAYER("VIP解析播放"),
        MD5("md5 加密"),
        SPRING_SECURITY("SPRING_SECURITY 加密"),
        JWT_WEB("json-web-token"),

        Hex_16("16 进制"),
        Unicode("Unicode"),
        COLOR_CHOOSE("颜色选择"),
        Tools_ICON("tools-hardware"),
        Qr_CODE("二维码"),

        ICON_NULL_COVER("");

        private String desc;

        ImagePathType(String desc) {
            this.desc = desc;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }
    }

    /**
     * 右上角关闭图标
     */
    public static String TOP_VIEW_CLOSE = "icon_white/close.png";

    public static String TOP_VIEW_CLOSE_BLACK = "icon_black/close.png";

    /**
     * 右上角全屏图标
     */
    public static String TOP_VIEW_FULL = "icon_white/full.png";
    public static String TOP_VIEW_Full_BLACK= "icon_black/full.png";

    /**
     * 正常的图标
     */
    public static String TOP_VIEW_NORMAl = "icon_white/normal.png";

    /**
     * 右上角缩小图标
     */
    public static String TOP_VIEW_MIN = "icon_white/min.png";

    public static String TOP_VIEW_MIN_BLACK = "icon_black/min.png";

    /**
     * 托盘图标
     */
    public static String TRAY_ICON = "icon_tray/tools-fx-3.png";


    /**
     * 背景图片
     */
    public static String BACKGROUND_IMAGE = "bgimg/2054761.jpg";

    /**
     * 音乐图标
     */
    public static String MUSIC_ICON = "icon_white/music.png";

    /**
     * 白色设置图标
     */
    public static String ICON_WHITE_SET = "icon_white/set.png";

    /**
     * 黑色设置图标
     */
    public static String ICON_BLACK_SET = "icon_black/set.png";

    /**
     * 白色循环图标
     */
    public static String ICON_WHITE_REPEAT = "icon_white/repeat.png";


    /**
     * 黑色循环图标
     */
    public static String ICON_BLACK_REPEAT = "icon_black/repeat.png";

    /**
     * 随机图标图标
     */
    public static String ICON_WHITE_RANDOM = "icon_white/random.png";

    /**
     * 随机黑色图标
     */
    public static String ICON_BLACK_RANDOM = "icon_black/random.png";

    /**
     * 白色上一首图标
     */
    public static String ICON_WHITE_LAST = "icon_white/last.png";

    /**
     * 黑色上一首图标
     */
    public static String ICON_BLACK_LAST = "icon_black/last.png";

    /**
     * 白色播放图标
     */
    public static String ICON_WHITE_PLAY = "icon_white/play.png";

    /**
     * 黑色播放图标
     */
    public static String ICON_BLACK_PLAY = "icon_black/play.png";

    /**
     * 白色暂停图标
     */
    public static String ICON_WHITE_PAUSE = "icon_white/pause.png";

    /**
     * 黑色暂停图标
     */
    public static String ICON_BLACK_PAUSE = "icon_black/pause.png";

    /**
     * 白色下一首图标
     */
    public static String ICON_WHITE_NEXT = "icon_white/next.png";

    /**
     * 黑色下一首图标
     */
    public static String ICON_BLACK_NEXT = "icon_black/next.png";

    /**
     * 播放列表白色图标
     */
    public static String ICON_WHITE_LIST = "icon_white/list.png";

    /**
     * 播放列表黑色图标
     */
    public static String ICON_BLACK_LIST = "icon_black/list.png";

    /**
     * 是否静音白色图标
     */
    public static String ICON_WHITE_MUTE = "icon_white/mute.png";

    /**
     * 是否静音黑色图标
     */
    public static String ICON_BLACK_MUTE = "icon_black/mute.png";

    /**
     * 音量白色图标
     */
    public static String ICON_WHITE_VOL = "icon_white/vol.png";

    /**
     * 音量黑色图标
     */
    public static String ICON_BLACK_VOL = "icon_black/vol.png";

    /**
     * 单曲循环白色图标
     */
    public static String ICON_WHITE_REPEAT_ONE = "icon_white/repeatone.png";

    /**
     * 单曲循环黑色图标
     */
    public static String ICON_BLACK_REPEAT_ONE = "icon_black/repeatone.png";

    public static String ICON_NULL_COVER = "bgimg/2041075.jpg";

    public static String SVG_FILE = "svg/file.png";

    public static String VIP_PLAYER = "svg/vip-player.png";
    public static String VIDEO_PLAYER = "svg/video-player.png";
    public static String MUSIC_PLAYER = "svg/music-player.png";
    public static String MD5 = "svg/md5.png";
    public static String SPRING_SECURITY = "svg/spring-security.png";
    public static String Hex_16 = "svg/hex_16.png";
    public static String Unicode = "svg/unicode.png";
    public static String JWT_WEB = "svg/jwt-web.png";
    public static String COLOR_CHOOSE = "svg/color-choose.png";
    public static String Tools_ICON = "svg/tools-hardware.png";
    public static String Qr_CODE = "svg/qr-code.png";

    public static String path(String file_path){
        return  "static/" + file_path;
    }

    public static String path(ImagePathType type) {

        String path = null;
        switch (type) {
            case CLOSE:
                path = ImagePath.TOP_VIEW_CLOSE;
                break;

            case FULL:
                path = ImagePath.TOP_VIEW_FULL;
                break;

            case MIN:
                path = ImagePath.TOP_VIEW_MIN;
                break;

            case NORMAL:
                path = ImagePath.TOP_VIEW_NORMAl;
                break;
            case TRAY_ICON:
                path = ImagePath.TRAY_ICON;
                break;
            case BACKGROUND_IMAGE:
                path = ImagePath.BACKGROUND_IMAGE;
                break;
            case MUSIC_ICON:
                path = ImagePath.MUSIC_ICON;
                break;
            case ICON_WHITE_SET:
                path = ImagePath.ICON_WHITE_SET;
                break;
            case ICON_BLACK_SET:
                path = ImagePath.ICON_BLACK_SET;
                break;

            case ICON_WHITE_REPEAT:
                path = ImagePath.ICON_WHITE_REPEAT;
                break;

            case ICON_BLACK_REPEAT:
                path = ImagePath.ICON_BLACK_REPEAT;
                break;

            case ICON_WHITE_LAST:
                path = ImagePath.ICON_WHITE_LAST;
                break;

            case ICON_BLACK_LAST:
                path = ImagePath.ICON_BLACK_LAST;
                break;

            case ICON_WHITE_PLAY:
                path = ImagePath.ICON_WHITE_PLAY;
                break;

            case ICON_BLACK_PLAY:
                path = ImagePath.ICON_BLACK_PLAY;
                break;

            case ICON_WHITE_PAUSE:
                path = ImagePath.ICON_WHITE_PAUSE;
                break;

            case ICON_BLACK_PAUSE:
                path = ImagePath.ICON_BLACK_PAUSE;
                break;


            case ICON_WHITE_NEXT:
                path = ImagePath.ICON_WHITE_NEXT;
                break;

            case ICON_BLACK_NEXT:
                path = ImagePath.ICON_BLACK_NEXT;
                break;

            case ICON_WHITE_LIST:
                path = ImagePath.ICON_WHITE_LIST;
                break;

            case ICON_BLACK_LIST:
                path = ImagePath.ICON_BLACK_LIST;
                break;

            case ICON_WHITE_MUTE:
                path = ImagePath.ICON_WHITE_MUTE;
                break;
            case ICON_BLACK_MUTE:
                path = ImagePath.ICON_BLACK_MUTE;
                break;

            case ICON_WHITE_VOL:
                path = ImagePath.ICON_WHITE_VOL;
                break;
            case ICON_BLACK_VOL:
                path = ImagePath.ICON_BLACK_VOL;
                break;

            case ICON_WHITE_RANDOM:
                path = ImagePath.ICON_WHITE_RANDOM;
                break;
            case ICON_BLACK_RANDOM:
                path = ImagePath.ICON_BLACK_RANDOM;
                break;
            case ICON_WHITE_REPEAT_ONE:
                path = ImagePath.ICON_WHITE_REPEAT_ONE;
                break;

            case ICON_BLACK_REPEAT_ONE:
                path = ImagePath.ICON_BLACK_REPEAT_ONE;
                break;
            case ICON_NULL_COVER:
                path = ImagePath.ICON_NULL_COVER;
                break;
            case TOP_VIEW_CLOSE_BLACK:
                path = ImagePath.TOP_VIEW_CLOSE_BLACK;
                break;
            case TOP_VIEW_MIN_BLACK:
                path = ImagePath.TOP_VIEW_MIN_BLACK;
                break;
            case TOP_VIEW_Full_BLACK:
                path = ImagePath.TOP_VIEW_Full_BLACK;
                break;
            case IMAGE_FILE:
                path = ImagePath.SVG_FILE;
                break;
            case VIDEO_PLAYER:
                path = ImagePath.VIDEO_PLAYER;
                break;
            case MUSIC_PLAYER:
                path = ImagePath.MUSIC_PLAYER;
                break;
            case VIP_PLAYER:
                path = ImagePath.VIP_PLAYER;
                break;
            case MD5:
                path = ImagePath.MD5;
                break;
            case SPRING_SECURITY:
                path = ImagePath.SPRING_SECURITY;
                break;
            case Hex_16:
                path = ImagePath.Hex_16;
                break;
            case Unicode:
                path = ImagePath.Unicode;
                break;
            case JWT_WEB:
                path = ImagePath.JWT_WEB;
                break;
            case COLOR_CHOOSE:
                path = ImagePath.COLOR_CHOOSE;
                break;
            case Tools_ICON:
                path = ImagePath.Tools_ICON;
                break;
            case Qr_CODE:
                path = ImagePath.Qr_CODE;
                break;
        }
        return "static/" + path;
    }
}
